This crate allows one to design DNA molecules.
The following creates a strand zig-zagging between three helices, and outputs it to a file:
use codenano::*;
let mut design: Design<()> = Design::new();
for i in 0..3 {
design.add_grid_helix(i, 0);
}
// Let's first design a strand.
design.strand(0, 0).to(31)
.cross(1).to(10)
.cross(2).to(21);
// Now its reverse complement:
design.strand(2, 21).to(10)
.cross(1).to(31)
.cross(0).to(0);
design.write_to("my_design.json").unwrap()
This library is compatible with the codenano-server
crate, which
watches changes made to a file and shows the result in 3D in a web
browser. Additionally, the client part of that crate can run
finite element simulations and display the secondary structure.